package com.shenke.permission.service;

import com.shenke.permission.model.UserRole;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
* @author 86180
* @description 针对表【user_roles】的数据库操作Service
* @createDate 2025-06-16 20:22:12
*/
public interface UserRoleService extends IService<UserRole> {

    /**
     * 绑定默认角色（普通用户）
     * @param userId
     */
    boolean bindDefaultRole(Long userId);

    /**
     * 根据 id 查询用户角色码
     * @param userId
     * @return role_code
     */
    String getUserRoleCode(Long userId);

    /**
     * 升级用户为管理员
     * @param userId
     */
    void upgradeToAdmin(Long userId);

    /**
     * 降级用户为普通角色
     * @param userId
     */
    void downgradeToUser(Long userId);

    /**
     * 根据角色码查询用户 id 列表
     * @param roleCode
     * @return
     */
    List<Long> listUserByRoleCode(String roleCode);
}
